草庐IT

java - 优化 DOM 和 XPath Java 代码

全部标签

javascript - 为什么这段 JavaScript 代码经过 Node.js 优化后运行速度变慢了

我正在为ICPC创建一个解决方案使用JavaScript和Node.js的问题当我遇到一个有趣的问题时:在某些情况下,我的程序在同一数据集上的运行速度会慢两倍。我精简了它,直到我得到这个演示行为的最小示例:functionsolve(arr){consttotal=arr.reduce((a,c)=>a+c,0);constcount=arr.length;for(leti=0;i这是使用Nodev10.15.1运行node--trace-optcode.js的输出:[marking0x005062b82521foroptimizedrecompilation,reason:small

javascript - 任何 Ruby 的 HTML 解析器都可以执行 JavaScript 来查看生成的 DOM 吗?

在尝试Hpricot和Nokogiri时,可以获取和解析HTML,但它们是否也可以执行Javascript以便在页面上显示内容?(显示在DOM中)。这是因为某些页面只有在JavaScript初始化代码运行后才会显示信息。 最佳答案 据我所知没有。您可能想研究使用类似Watir的东西并使用真正的浏览器。 关于javascript-任何Ruby的HTML解析器都可以执行JavaScript来查看生成的DOM吗?,我们在StackOverflow上找到一个类似的问题:

javascript - 关于jquery选择器如何遍历dom的一些问题

我怎么知道什么遍历了DOM而什么没有遍历?$('divp')这似乎返回了所有的div元素,然后对第一个div搜索中返回的每个dom元素上的P元素进行了另一次扫描。$('div.foo')类似乎不扫描dom。它们只过滤前面列表$('div')中包含类foo的元素。如果$('div')的子级具有foo类,则不会被选中。$('div,div')不包含欺骗。因此,它似乎只使用比较或不比较的lambda列表扫描一次。但是当你有像:contains('x')这样的过滤器时,这会变得非常困惑,它们似乎可以自己递归dom。那么这些选择器是如何工作的呢?'div.foo'是否首先只遍历div,然后对包含

javascript - 如何在生产环境中动态加载多个优化的 requirejs 模块?

我已经开始在虚拟项目中使用requirejs。我现在想使用r.js脚本构建我的生产项目。上下文是这样的:名为start.js的主文件是:require([/*somestuff*/],function(){/*applogic*/});它有一个if,它根据某些条件决定我应该要求什么。所需的文件是ModuleA或ModuleBModuleA和ModuleB都有依赖关系。define([/*somedeps*/],function(dep1,dep2...){/*applogic*/return{/*interface*/}在优化和模块连接之前,在开发模式下一切正常。在使用r.js构建时,

javascript - DOM执行顺序问题

我在HEAD标签中有一些JavaScript,它在页面上的最后一个脚本(当前已解析)之前动态插入异步加载脚本标签。这个动态包含的脚本标签包含需要在DOM可用之后解析DOM的JavaScript,但在加载所有图像和脚本标签之前。重要的是,JavaScript在所有JS加载之前开始执行,因为如果有一个挂起的脚本,这会导致糟糕的用户体验。这意味着我不能等待DOMContentLoaded事件触发。对于将动态包含脚本标记的第一段JavaScript放在哪里,我没有任何灵active。我的问题是,不等待DOMContentLoaded事件而立即开始解析DOM对我来说是否安全?如果没有,我是否有办

javascript - 在指令之间共享公共(public)代码

我正在研究一个Angular项目的核心,为了跨多个组件重用,我想尽可能地保持行为分离。一个示例可能是使用“iScroll”库来下拉刷新某些内容。目前,我遇到了问题,因为其中许多行为都需要它们自己的范围。我认为也许将行为包装在服务中可能是可行的方法,但我还没有真正看到过这种事情的很多例子。所以我想知道这是否是正确的方法。这是一个非常非常简单的jsfiddle示例:http://jsfiddle.net/S7kC7/varcontrols=angular.module('controls',[]);controls.service('ScrollingBehavior',function(

javascript - 如何在不影响性能的情况下向函数添加详细的日志记录代码?

性能对于我正在编写的某个类很重要。我考虑过这样调用一个函数:debug('Thisisadebugmessage,onlyvisiblewhendebuggingison');内容应该是这样的functiondebug(message){if(DEBUG)console.log(message);}所以我想知道:如果DEBUG变量永远不会改变,这是否足以让V8将其标记为“死代码”?编辑:与浏览器相比,我更担心Node中的性能,因此在缩小时删除代码是不够的。Edit2:我根据建议的解决方案做了一个JSPerf基准测试,它们非常令人惊讶:http://jsperf.com/verbose-

javascript - 当我的手指已经在屏幕上时,如何在添加到 DOM 的元素上捕获 touchmove 事件?

我正在为iPad开发一个Javascript/html5项目。我需要能够在touchstart事件触发后才添加到DOM的元素上捕获touchmove事件(即,直到一个人已将手指放在屏幕上。)我已经尝试模拟touchstart事件并以编程方式触发它...$("#container").append(element);element.on("touchmove",doStuff);varev=$.Event("touchstart");element.trigger(ev);...但是这不起作用。让doStuff开始触发的唯一方法是抬起手指,然后再次触摸屏幕,触发第二个touchstart

javascript - 停止所有代码然后继续,就像 JS 中的 alert()

让我解释一下:当您在JS中调用alert()时,警报下面的所有代码都将停止,当您单击“确定”时,代码返回工作。我用这段代码制作了自己的自定义警报:functioncAlert(){varbOn;this.show=function(content){bOn=true;document.write('');$("#cAlertContentBox").html(content);$("#cAlertBox").show();$("#turnOffLight").fadeIn("fast");vardiv=document.getElementById('cAlertBox').offse

javascript - 无法使用服务器端渲染访问 DOM - react 0.14.1、react-dom 0.14.1 和 react-router 1.0.0-rc3

我无法使用react、react-dom和react-router的服务器实现访问DOM。我有ReferenceError:documentisnotdefined,或者BrowserhistoryneedsaDOMerrors。服务器入口:module.exports=function(req,res,next){match({routes,location:req.url},(error,redirectLocation,renderProps)=>{if(error){res.status(500).send(error.message);}elseif(redirectLoca